package edu.yang.dbutils;



import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 * 驱动管理类
 * @author yang
 * @date 2024-05-11
 */
public class ConnUtils {
    /**
     * JDBC驱动类名
     */
    private static final String DRIVER = "com.mysql.cj.jdbc.Driver";
    /**
     * 数据库链接地址
     */
    private static final String URL = "jdbc:mysql://127.0.0.1:3306/jdbc_test?useUnicode=true;characterEncoding=utf8;serverTimezone=Asia/Shanghai";
    /**
     * 用户名
     */
    private static final String USER = "root";
    /**
     * 密码
     */
    private static final String PASSWORD = "ysh@990123";

    /**
     * Java静态初始化块，当Java类被首次主动使用时，静态块会被执行，且只执行一次
     * Class.forName()方法尝试加载由 driver 变量指定的数据库驱动程序类
     */
    static {
        try {
            Class.forName(DRIVER);
        } catch (ClassNotFoundException e) {
            throw new RuntimeException(e);
        }
    }

    /**
     * 获取连接对象的方法
     * @return 连接对象
     * 通过 DriverManager.getConnection(String url, String user, String password)方法连接到数据库
     */
    public static Connection getConnection() {
        try {
            return DriverManager.getConnection(URL, USER, PASSWORD);
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }

}
